﻿using System;
namespace Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik {
    
    
    public partial class Fail : global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IFail {
        
        private System.DateTime? @__algusKP;
        
        private string @__alustaja;
        
        private string @__failitee;
        
        private string @__klientsysteemiID;
        
        private string @__nimetus;
        
        private System.Int64? @__objektID;
        
        private System.DateTime? @__viimatiMuudetud;
        
        private System.Int64? @__maht;
        
        private string @__laiend;
        
        private byte[] @__sisu;
        
        public Fail() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public Fail(System.DateTime? @algusKP, string @alustaja, string @failitee, string @klientsysteemiID, string @nimetus, System.Int64? @objektID, System.DateTime? @viimatiMuudetud, System.Int64? @maht, string @laiend, byte[] @sisu) {
            this.@__algusKP = @algusKP;
            this.@__alustaja = @alustaja;
            this.@__failitee = @failitee;
            this.@__klientsysteemiID = @klientsysteemiID;
            this.@__nimetus = @nimetus;
            this.@__objektID = @objektID;
            this.@__viimatiMuudetud = @viimatiMuudetud;
            this.@__maht = @maht;
            this.@__laiend = @laiend;
            this.@__sisu = @sisu;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected Fail(IFail @fail) {
            this.@__algusKP = @fail.AlgusKP;
            this.@__alustaja = @fail.Alustaja;
            this.@__failitee = @fail.Failitee;
            this.@__klientsysteemiID = @fail.KlientsysteemiID;
            this.@__nimetus = @fail.Nimetus;
            this.@__objektID = @fail.ObjektID;
            this.@__viimatiMuudetud = @fail.ViimatiMuudetud;
            this.@__maht = @fail.Maht;
            this.@__laiend = @fail.Laiend;
            this.@__sisu = @fail.Sisu;
        }
        
        public virtual System.DateTime? AlgusKP {
            get {
                return this.@__algusKP;
            }
            set {
                this.@__algusKP = value;
            }
        }
        
        public virtual string Alustaja {
            get {
                return this.@__alustaja;
            }
            set {
                this.@__alustaja = value;
            }
        }
        
        public virtual string Failitee {
            get {
                return this.@__failitee;
            }
            set {
                this.@__failitee = value;
            }
        }
        
        public virtual string KlientsysteemiID {
            get {
                return this.@__klientsysteemiID;
            }
            set {
                this.@__klientsysteemiID = value;
            }
        }
        
        public virtual string Nimetus {
            get {
                return this.@__nimetus;
            }
            set {
                this.@__nimetus = value;
            }
        }
        
        public virtual System.Int64? ObjektID {
            get {
                return this.@__objektID;
            }
            set {
                this.@__objektID = value;
            }
        }
        
        public virtual System.DateTime? ViimatiMuudetud {
            get {
                return this.@__viimatiMuudetud;
            }
            set {
                this.@__viimatiMuudetud = value;
            }
        }
        
        public virtual System.Int64? Maht {
            get {
                return this.@__maht;
            }
            set {
                this.@__maht = value;
            }
        }
        
        public virtual string Laiend {
            get {
                return this.@__laiend;
            }
            set {
                this.@__laiend = value;
            }
        }
        
        public virtual byte[] Sisu {
            get {
                return this.@__sisu;
            }
            set {
                this.@__sisu = value;
            }
        }
    }
}
